package com.jic.market.request;

import com.jic.common.base.vo.AdminOperate;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 拼团活动-入参
 *
 * @author guohuayong
 * @date: 2020年01月10日
 */
@Data
public class PatchGrouponThemeRequest extends BaseRequest implements Serializable {

    private static final long serialVersionUID = -8276864391669671081L;

    //活动开始时间
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;
    //活动结束时间
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;
//    //渠道code；先写死BBC
//    private String channelCode;
//    // 1：进行中 2：已过期 3：已关闭 4：未开始 5：待提交 6:待审核 7：审核未通过
//    private Integer status;


    /**
     * 拼团活动ID
     */
    @ApiModelProperty(notes = "拼团活动ID")
    private Long id;

    /*
     * 描述
     */
    @ApiModelProperty(notes = "描述")
    private String description;


    /**
     * 促销活动名称
     */
    @ApiModelProperty(notes = "促销活动名称")
    private String promName;

    /**
     * 预热时间
     */
    @ApiModelProperty(notes = "预热时间")
    private Integer preheatTime;

    /**
     * 促销类型
     */
    @ApiModelProperty(notes = "促销类型")
    private Integer promType;

    /**
     * 前置促销类型   拼团26
     */
    @ApiModelProperty(notes = "前置促销类型   拼团26")
    private Integer frontPromType;

    /**
     * 拼团编码
     */
    @ApiModelProperty(notes = "拼团编码")
    private String groupCode;

    /*
     * 渠道code
     */
    @ApiModelProperty(notes = "渠道code")
    private String channelCodes;

    @ApiModelProperty(notes = "渠道Id")
    private String channelId;


    /*
     * 创建人姓名
     */
    @ApiModelProperty(notes = "创建人姓名")
    private String creatorName;

    /**
     * 创建人搜索
     */
    @ApiModelProperty(notes = "创建人搜索")
    private String creatorNameForSearch;


    @ApiModelProperty(notes = "活动状态 1 待提交  2 待审核  3未开始 4 审核不通过  5 进行中  6 已过期  7 已关闭 8 已结束 9 草稿")
    private Integer status;


    /**
     * 创建时间
     */
    @ApiModelProperty(notes = "创建时间")
    private Date createTime;




    /**
     * 团单时长-开团后组团时间限制类型 0：不限制；1：限制
     */
    @ApiModelProperty(notes = "团单时长-开团后组团时间限制类型 0：不限制；1：限制")
    private Integer groupTimeType;


    /**
     * 团单时长-开团后组团时间限制
     */
    @ApiModelProperty(notes = "团单时长-开团后组团时间限制")
    private Integer groupTimeLimit;


    /**
     * 自动成团时间设置，单位小时-距离拼团活动结束时间XX小时未成团的拼团单可自动成团
     */
    @ApiModelProperty(notes = "自动成团时间设置，单位小时-距离拼团活动结束时间XX小时未成团的拼团单可自动成团")
    private Integer autoCompleteTime;


    /**
     * 单用户参团限制-个人参团限制类型 0：不限制；1：限制
     */
    @ApiModelProperty(notes = "单用户参团限制-个人参团限制类型 0：不限制；1：限制")
    private Integer individualJoinType;


    /**
     * 单用户参团限制-个人参团限制次数
     */
    @ApiModelProperty(notes = "单用户参团限制-个人参团限制次数")
    private Integer individualJoinTime;


    /**
     * 是否包邮件 1-是；0-否
     */
    @ApiModelProperty(notes = "是否包邮件 1-是；0-否")
    private Integer mailType;


    /**
     * 拼团人数-成团人数
     */
    @ApiModelProperty(notes = "拼团人数-成团人数")
    private Integer groupMembers;


    /**
     * 拼团类型  0:单品  1:品牌团 2:任意团
     */
    @ApiModelProperty(notes = "拼团类型  0:单品  1:品牌团 2:任意团")
    private Integer groupType;


    /**
     * 开团活动对象-开团活动用户限制 0：不限；1：新用户；2：老用户
     */
    @ApiModelProperty(notes = "开团活动对象-开团活动用户限制 0：不限；1：新用户；2：老用户")
    private List<String> customerLimit;


    /**
     * 参团活动对象-参团活动用户限制 0：不限；1：新用户；2：老用户
     */
    @ApiModelProperty(notes = "参团活动对象-参团活动用户限制 0：不限；1：新用户；2：老用户")
    private List<String> offeredCustomerLimit;


    /**
     * 备注
     */
    @ApiModelProperty(notes = "备注")
    private String remark;


    /**
     * 商品id
     */
    @ApiModelProperty(notes = "商品id")
    private Long mpId;


    /**
     * 商品名称
     */
    @ApiModelProperty(notes = "商品名称")
    private String mpName;


    /**
     * 审核-备注
     */
    @ApiModelProperty(notes = "审核-备注")
    private String auditRemark;


    /**
     * 平台类型 0：平台  11：商家
     */
    @ApiModelProperty(notes = "平台类型 0：平台  11：商家")
    private Integer promPlatform;


    /**
     * 创建商家id
     */
    @ApiModelProperty(notes = "创建商家id")
    private Long createMerchantId;


    /**
     * 创建商家名称
     */
    @ApiModelProperty(notes = "创建商家名称")
    private String createMerchantName;


    /**
     * 创建人id
     */
    @ApiModelProperty(notes = "创建人id")
    private Long creator;


    /**
     * 更新人id
     */
    @ApiModelProperty(notes = "更新人id")
    private Long updator;


    /**
     * 更新人名称
     */
    @ApiModelProperty(notes = "更新人名称")
    private String updatorName;


    /*
     * 更新时间
     */
    @ApiModelProperty(notes = "更新时间")
    private Date updateTime;


    /**
     * 版本号
     */
    @ApiModelProperty(notes = "版本号")
    private Integer versionNo;


    /**
     * 是否删除：1表示删除  0表示未删除
     */
    @ApiModelProperty(notes = "是否删除：1表示删除  0表示未删除")
    private Integer deleteFlag;


    /**
     * 活动图片url
     */
    @ApiModelProperty(notes = "活动图片url")
    private List<String> fileUrl;

    /**
     * 用户类型
     */
    @ApiModelProperty(notes = "用户类型")
    private List<String> proUserType;

    /**
     * 会员类型
     */
    @ApiModelProperty(notes = "会员类型")
    private List<String> proMemberType;

    /**
     * 会员等级
     */
    @ApiModelProperty(notes = "会员等级")
    private List<String> proMemberLevel;

    /**
     * 活动标签id
     */
    @ApiModelProperty(notes = "活动标签id")
    private Long labelId;

    /**
     * 店铺地区code码
     */
    @ApiModelProperty(notes = "店铺地区code码")
    private List<String> storeArea;

    /**
     * 用户地区code码
     */
    @ApiModelProperty(notes = "用户地区code码")
    private List<String> userArea;

    /**
     * 是否成本分摊0否 1是
     */
    @ApiModelProperty(notes = "是否成本分摊0否 1是")
    private String costAllocationFlag;

    /**
     * 母平台分摊比例
     */
    @ApiModelProperty(notes = "母平台分摊比例")
    private Integer parentAllocationScale;

    /**
     * 子平台分摊比例
     */
    @ApiModelProperty(notes = "子平台分摊比例")
    private Integer childAllocationScale;
    /**
     * 商家平台分摊比例
     */
    @ApiModelProperty(notes = "商家平台分摊比例")
    private Integer merchantAllocationScale;
    /**
     * 店铺平台分摊比例
     */
    @ApiModelProperty(notes = "店铺平台分摊比例")
    private Integer storeAllocationScale;

//    /**
//     * 平台类型
//     */
//    @ApiModelProperty(notes = "平台类型")
//    private Integer deptType;
    /**
     * 平台id
     */
    @ApiModelProperty(notes = "平台id")
    private Long deptId;
    /**
     * 商家id
     */
    @ApiModelProperty(notes = "商家id")
    private Long merchantId;
    /**
     * 店铺id
     */
    @ApiModelProperty(notes = "店铺id")
    private Long storeId;

    @ApiModelProperty(notes = "请求基类")
    private AdminOperate adminOperate;


    @ApiModelProperty(notes = "会员类型集合")
    private String memTypes;

    @ApiModelProperty(notes = "活动搜索词")
    private String searchKeyword;
    @ApiModelProperty(notes = "活动费用预算:面值*发行数量")
    private Long budget;
    @ApiModelProperty(notes = "预警比例")
    private String warningNum;

    @ApiModelProperty(notes = "会员等级")
    private List<PromotionMemberGradeRequest> promotionMemberGradeList;
}
